package gold.digger;

/**
 * Created by fanzhenyu02 on 2020/3/1.
 */
public class LC73 {


    /*
     * @param 此题目直接用别人代码，自己只理解思想
     * @return:
     */

    public void setZeroes(int[][] matrix) {
        // write your code here
        if(matrix==null||matrix.length==0){
            return;
        }
        boolean row=false;
        boolean col=false;
        for(int i=0;i<matrix.length;i++){
            if(matrix[i][0]==0){
                row=true;
                break;
            }
        }
        for(int i=0;i<matrix[0].length;i++){
            if(matrix[0][i]==0){
                col=true;
                break;
            }
        }
        for(int r=1;r<matrix.length;r++){
            for(int c=1;c<matrix[0].length;c++){
                if(matrix[r][c]==0){
                    matrix[r][0]=0;
                    matrix[0][c]=0;
                }
            }
        }
        for(int i=1;i<matrix.length;i++){
            if(matrix[i][0]==0){
                for(int j=1;j<matrix[0].length;j++){
                    matrix[i][j]=0;
                }
            }
        }
        for(int i=1;i<matrix[0].length;i++){
            if(matrix[0][i]==0){
                for(int j=1;j<matrix.length;j++){
                    matrix[j][i]=0;
                }
            }
        }
        if(row){
            for(int j=0;j<matrix.length;j++){
                matrix[j][0]=0;
            }
        }
        if(col){
            for(int j=0;j<matrix[0].length;j++){
                matrix[0][j]=0;
            }
        }
    }


    public static void main(String[] args) {

    }
}
